我们有一个5GB的表(接近5亿行),我们想删除其中一个列上的标识属性,但是当我们尝试通过SSMS执行此操作时 - 它会超时.
这可以通过T-SQL完成吗?
基本上我在SQL Server 2005上有两个数据库.
我想从一个数据库中获取表数据并将其复制到另一个数据库的表中.
我试过这个:
SELECT * INTO dbo.DB1.TempTable FROM dbo.DB2.TempTable
Run Code Online (Sandbox Code Playgroud)
这没用.
我不想使用恢复来避免数据丢失......
有任何想法吗?
我想将一个表Equipment从一个数据库复制MyDBQA到我们的测试数据库MyDB.表中有一个标识列,它是主键(int,not null).
但是我收到了一个错误:
消息8101,级别16,状态1,行2
只有在使用列列表且IDENTITY_INSERT为ON时,才能指定表'MyDB.dbo.Equipment'中标识列的显式值.
我的剧本:
SET IDENTITY_INSERT [MyDB].[dbo].[Equipment] ON
INSERT INTO [MyDB].[dbo].[Equipment] SELECT * FROM [MyDBQA].[dbo].[Equipment]
SET IDENTITY_INSERT [MyDB].[dbo].[Equipment] OFF
Run Code Online (Sandbox Code Playgroud) 不知道为什么这段代码没有执行...
SET IDENTITY_INSERT COM_MST ON
GO
INSERT INTO COM_MST
SELECT * FROM COM_MST_DEL
Run Code Online (Sandbox Code Playgroud)
并显示错误
An explicit value for the identity column in table 'COM_MST' can only be specified when a column list is used and IDENTITY_INSERT is ON.
Run Code Online (Sandbox Code Playgroud) 你能帮忙吗。
我正在运行以下查询:
set identity_insert sites_dynamic ON
insert into sites_dynamic
select *
from gpbatt_archive.dbo.sites_dynamic
where site_serial_number = 49955
set identity_insert sites_dynamic OFF
set identity_insert sites_static ON
insert into sites_static
select *
from gpbatt_archive.dbo.sites_static
where static_site_id in (select static_site_id
from gpbatt_archive.dbo.sites_dynamic
where site_serial_number = 49955)
set identity_insert sites_static OFF
Run Code Online (Sandbox Code Playgroud)
返回的错误是:
消息 8101,级别 16,状态 1,第 3
行 表“sites_dynamic”中标识列的显式值只能在使用列列表且 IDENTITY_INSERT 为 ON 时指定。
谁能帮我?我是新来的