迁移数据库需要注意的两个问题

1、通过sqlserver复制过来的表,如果是自动递增列为主键,直接往表中写入数据时,自动递增是从1开始的,很容易就出现重复键这个异常。只能先把这一列的自动递增改为否,再设置回自动递增,这样就可以按照最大值开始递增。

2、sql代理里面的作业,用脚本生成的sql语句,在新的服务器执行时,会出现“不能将值 NULL 插入列 'owner_sid',表 'msdb.dbo.sysjobs';列不允许有空值。INSERT 失败。”这样的错误。后来看了一下生成的脚本,里面包含了原服务器的机器名,把这个机器名替换为新服务器的,就可以执行成功了。位置大概如下(标红字的地方为机器名):

DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'每小时插入到记录表',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'无描述。',
@category_name=N'[Uncategorized (Local)]',
@owner_login_name=N'HP-123456XXXXXAdministrator', @job_id = @jobId OUTPUT

原文地址:https://www.cnblogs.com/goding/p/10222058.html