تولید اسکریپت دیتابیس در SQL Server
شنبه 18 اردیبهشت 1395یک برنامه نویس نیاز دارد چندین بار داده های دیتابیس را در مراحل مختلف تولید برنامه جابه جا کند. با تولید اسکریپت این کار به راحتی صورت میپذیرد.برای این منظور در این مقاله قصد داریم تولید اسکریپت در SQL Server را آموزش دهیم.
یک برنامه نویس باید چندین بار داده ها را از development سرور به staging سرور و بعد از آن به production سرور حرکت دهد.با تولید اسکریپت این کار به راحتی صورت میپذیرد.
مرحله 1 :
روی دیتابیس راست کلیک کرده، گزینه Tasks و سپس روی Generate Scripts کلیک میکنیم.
مرحله 2 :
صفحه بعدی، صفحه Introduction است ،که چهار مرحله زیر را توضیح می دهد،
Select Database Object
Specifying scripting or publishing options
Review your selection
Generate Scripts and save or publish
روی Next کلیک کنید.
مرحله 3 :
Choose Objects؛ در اینجا شما می توانید تمام جداول و stored procedure ها، و ... را انتخاب کنید و یا شما می توانید جداول خاص و یاstored procedure خاص را انتخاب کنید. بر روی دکمه Next کلیک کنید.
مرحله 4:
Set Scripting Options ,شما می توانید نوع خروجی را "Save scripts to a specific location" و یا "Publish to web service ،" را در اینجا انتخاب کنید.ما گزینه اول را انتخاب میکنیم. نام فایل و محل ذخیره اسکریپت را انتخاب کنید.
حالا روی Advanced کلیک کنید.
از تب option میتوانید پروپرتی هایی مانند Script for Server Version را انتخاب کنید.
نسخه سروری که برای اجرای اسکریپت می خواهید را انتخاب کنید، در اینجا SQL Server 2012 انتخاب شده است.
از Type of data to script ،گزینه Schema and data هم داده ها و هم شمایی از دیتابیس دارد و اگر فقط اطلاعات را میخواهید گزینه Data only را انتخاب کنید
Schema Only فقط شی اسکریپت ایجاد میکند
مرحله 5 :
در Summary ، فقط مسیر را چک کنید و برروی 'Next' کلیک کنید.
مرحله 6 :
Save or Publish Scripts ، در اینجا موفقیت آمیز بودن یا نبودن تمام اکشن ها چک میشوند .روی 'Finish'. کلیک کنید.
مرحله 7:
فایل اسکریپت را باز کرده و در SQL Server Query Window اجرا میکنیم . برای درک بهتر ، اسکریپت زیر را ایجاد کرده ایم.
USE [EMP] GO /****** Object: StoredProcedure [dbo].[ViewCountry] Script Date: 28-02-2016 17:39:44 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= CREATE PROCEDURE [dbo].[ViewCountry] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; SELECT [CountryId] ,[CountryName] FROM [EMP].[dbo].[Country] END GO /****** Object: Table [dbo].[Country] Script Date: 28-02-2016 17:39:44 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Country]( [CountryId] [int] IDENTITY(1,1) NOT NULL, [CountryName] [nvarchar](50) NULL, CONSTRAINT [PK_Country] PRIMARY KEY CLUSTERED ( [CountryId] 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 /****** Object: Table [dbo].[State] Script Date: 28-02-2016 17:39:44 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[State]( [StateId] [int] IDENTITY(1,1) NOT NULL, [CountryId] [int] NULL, [StateName] [nvarchar](100) NULL, CONSTRAINT [PK_State] PRIMARY KEY CLUSTERED ( [StateId] 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].[Country] ON INSERT [dbo].[Country] ([CountryId], [CountryName]) VALUES (1, N'INDIA ') INSERT [dbo].[Country] ([CountryId], [CountryName]) VALUES (2, N'USA ') INSERT [dbo].[Country] ([CountryId], [CountryName]) VALUES (3, N'UK ') INSERT [dbo].[Country] ([CountryId], [CountryName]) VALUES (4, N'NEW ZEALAND') INSERT [dbo].[Country] ([CountryId], [CountryName]) VALUES (5, N'AUSTRALIA') INSERT [dbo].[Country] ([CountryId], [CountryName]) VALUES (6, N'SA') INSERT [dbo].[Country] ([CountryId], [CountryName]) VALUES (7, N'SRI LANKA') INSERT [dbo].[Country] ([CountryId], [CountryName]) VALUES (8, N'test') SET IDENTITY_INSERT [dbo].[Country] OFF SET IDENTITY_INSERT [dbo].[State] ON INSERT [dbo].[State] ([StateId], [CountryId], [StateName]) VALUES (1, 1, N'GUJARAT') INSERT [dbo].[State] ([StateId], [CountryId], [StateName]) VALUES (2, 1, N'MAHARASHTRA') INSERT [dbo].[State] ([StateId], [CountryId], [StateName]) VALUES (3, 4, N'AUCKLAND') SET IDENTITY_INSERT [dbo].[State] OFF ALTER TABLE [dbo].[State] WITH CHECK ADD CONSTRAINT [FK_State_Country] FOREIGN KEY([CountryId]) REFERENCES [dbo].[Country] ([CountryId]) GO ALTER TABLE [dbo].[State] CHECK CONSTRAINT [FK_State_Country] GO
- SQL Server
- 5k بازدید
- 6 تشکر