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...

Konktextová nabídka databáze

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á.
Script Wizard - možnosti skriptu

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.
Script Wizard - volba typů objektů Script Wizard - volba objektů daného typu Script Wizard - volba objektů daného typu
Script Wizard - umístění skriptu Script Wizard - status

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;

    -- Insert statements for procedure here
    SELECT * FROM lide;
END
GO