以前我們要將一個表中的數據導出為腳本,那么只有在網上找一個導出數據的Script,然后運行就可以導出數據腳本了。現在在SQL Server 2008的Management Studio中增加了一個新特性,除了導出表的定義外,還支持將表中的數據導出為腳本。導出過程是這樣的,我簡單說明下:
(1)在SSMS2008中的對象資源管理器中,右擊需要導出數據的數據庫,在彈出式菜單中選擇“任務”下的“生成腳本”選項。
(2)在腳本向導的選擇腳本選項中,將“編寫數據的腳步”選擇為TRUE,這里默認是為FALSE的。
(3)然后下一步選擇導出的對象,選擇導出的表,最后完成時即可以看到由系統導出的表定義和表數據了,例如我們導出Person.AddressType表中的數據,那么系統生產的表數據這部分的腳步就是:
SET IDENTITY_INSERT [Person].[AddressType] ON
INSERT [Person].[AddressType] ([AddressTypeID], [Name], [rowguid], [ModifiedDate]) VALUES (1, N'Billing', N'b84f78b1-4efe-4a0e-8cb7-70e9f112f886', CAST(0x00009BB600305BC5 AS DateTime))
INSERT [Person].[AddressType] ([AddressTypeID], [Name], [rowguid], [ModifiedDate]) VALUES (2, N'Home', N'41bc2ff6-f0fc-475f-8eb9-cec0805aa0f2', CAST(0x00009BB600305BC5 AS DateTime))
INSERT [Person].[AddressType] ([AddressTypeID], [Name], [rowguid], [ModifiedDate]) VALUES (3, N'Main Office', N'8eeec28c-07a2-4fb9-ad0a-42d4a0bbc575', CAST(0x00009BB600305BC5 AS DateTime))
INSERT [Person].[AddressType] ([AddressTypeID], [Name], [rowguid], [ModifiedDate]) VALUES (4, N'Primary', N'24cb3088-4345-47c4-86c5-17b535133d1e', CAST(0x00009BB600305BC5 AS DateTime))
INSERT [Person].[AddressType] ([AddressTypeID], [Name], [rowguid], [ModifiedDate]) VALUES (5, N'Shipping', N'b29da3f8-19a3-47da-9daa-15c84f4a83a5', CAST(0x00009BB600305BC5 AS DateTime))
INSERT [Person].[AddressType] ([AddressTypeID], [Name], [rowguid], [ModifiedDate]) VALUES (6, N'Archive', N'a67f238a-5ba2-444b-966c-0467ed9c427f', CAST(0x00009BB600305BC5 AS DateTime))
SET IDENTITY_INSERT [Person].[AddressType] OFF
哈哈,還SET IDENTITY_INSERT ON了,支持對IDENTITY列的數據插入,比我們一般用腳本或者存儲過程來導要方便,希望這個功能對大家有用。
PS:由于這個功能在聯機叢書中似乎也沒有介紹,而且默認又是關閉的,所以大家估計都沒有注意到這個功能,我也一直沒有注意到,直到今天在看一篇國外的博客才看到的。
下一篇 創建SQL作業提示錯誤的解決方法