Export dat z MS SQL 2008
- 31. Červenec 2009
- Publikováno v MS SQL
- Napište komentář
Možná je to k nevíře, ale nemalou chvíli mi trvalo, než jsem zjistil, jak v SQL Server Management Studiu vyexportovat kompletní databázi do SQL skriptu. Snad tento článek podobně nemalou chvíli někomu ušetří.
Snad každý by požadovanou funkčnost hledal první v sekci Export Data. Tudy ovšem cesta nevede. Ta správná vede skrz kontextovou nabídku databáze / Tasks / Generate Scripts...
Po výběru databáze k exportu přichází druhý a snad i poslední důležitý krok. V nastavení možností skriptu je třeba v sekci
Table/View Options upravit volbu Script Data. Výchozí hodnota je totiž 'False'. Konkrétně tato volba je umístěna v části, která po načtení daného okna není hned viditelná a tak ji lze snadno přehlédnout. Ostatně to jsem párkrát udělal i já.Následují volby jako typy objektů k exportu, výběr konkrétních objektu zvolených typů a na závěr umístění vygenerovaného skriptu.
Pokud vše proběhne v pořádku, dostanete skript se všemi zvolenými tabulkami, objekty, a hlavně daty.
MySQL:
USE [pokus]
GO
/****** Object: Table [dbo].[lide] Script Date: 07/30/2009 22:38:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[lide](
[uid] [INT] IDENTITY(1,1) NOT NULL,
[jmeno] [nchar](15) NOT NULL,
[prijmeni] [nchar](20) NOT NULL,
CONSTRAINT [PK_lide] PRIMARY KEY CLUSTERED
(
[uid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET IDENTITY_INSERT [dbo].[lide] ON
INSERT [dbo].[lide] ([uid], [jmeno], [prijmeni]) VALUES (1, N'Petr ', N'Kos ')
INSERT [dbo].[lide] ([uid], [jmeno], [prijmeni]) VALUES (3, N'Marek ', N'Holý ')
INSERT [dbo].[lide] ([uid], [jmeno], [prijmeni]) VALUES (6, N'Jana ', N'Zlá ')
INSERT [dbo].[lide] ([uid], [jmeno], [prijmeni]) VALUES (7, N'Petr ', N'Pan ')
INSERT [dbo].[lide] ([uid], [jmeno], [prijmeni]) VALUES (8, N'Jan ', N'Noha ')
INSERT [dbo].[lide] ([uid], [jmeno], [prijmeni]) VALUES (9, N'Magda ', N'Dlouhá ')
SET IDENTITY_INSERT [dbo].[lide] OFF
/****** Object: StoredProcedure [dbo].[getLide] Script Date: 07/30/2009 22:38:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[getLide]
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
GO
/****** Object: Table [dbo].[lide] Script Date: 07/30/2009 22:38:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[lide](
[uid] [INT] IDENTITY(1,1) NOT NULL,
[jmeno] [nchar](15) NOT NULL,
[prijmeni] [nchar](20) NOT NULL,
CONSTRAINT [PK_lide] PRIMARY KEY CLUSTERED
(
[uid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET IDENTITY_INSERT [dbo].[lide] ON
INSERT [dbo].[lide] ([uid], [jmeno], [prijmeni]) VALUES (1, N'Petr ', N'Kos ')
INSERT [dbo].[lide] ([uid], [jmeno], [prijmeni]) VALUES (3, N'Marek ', N'Holý ')
INSERT [dbo].[lide] ([uid], [jmeno], [prijmeni]) VALUES (6, N'Jana ', N'Zlá ')
INSERT [dbo].[lide] ([uid], [jmeno], [prijmeni]) VALUES (7, N'Petr ', N'Pan ')
INSERT [dbo].[lide] ([uid], [jmeno], [prijmeni]) VALUES (8, N'Jan ', N'Noha ')
INSERT [dbo].[lide] ([uid], [jmeno], [prijmeni]) VALUES (9, N'Magda ', N'Dlouhá ')
SET IDENTITY_INSERT [dbo].[lide] OFF
/****** Object: StoredProcedure [dbo].[getLide] Script Date: 07/30/2009 22:38:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[getLide]
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT * FROM lide;
END
GO
Super děkuju za tip