SQL SERVER 2008 阻止保存要求重新创建表的更改
作者:大鹏 发布于:2009-9-2 15:13 Wednesday
分类:Asp.Net 2.0
标签: sqlserver
当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改,如果强行更改会出现以下提示:不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的更改”选项。
SQL SERVER 2008 阻止保存要求重新创建表的更改
如果要去掉此提示,打开SQL 2008 在最上面
工具-〉选项-〉左侧有个 设计器-〉表设计器和数据库设计器 -> 阻止保存要求重新创建表的更改(右侧) 把钩去重新启动2008即可
文件 "c:xxxx.mdf,但未驻留在只读数据库或文件组中。必须将此文件解压缩。
作者:大鹏 发布于:2009-7-24 20:03 Friday
分类:Java与Jsp
标签: sqlserver
更多信息
虽然,从物理上说可以将 SQL Server 数据库放在压缩卷上,但我们并不建议也不支持这样做。 主要原因包括下列几方面:
性能.
去掉外键约束, 删除数据
作者:大鹏 发布于:2009-7-21 12:10 Tuesday
分类:Asp.Net 2.0
标签: sqlserver
/* usage:
exec fk_switch tablename,0
delete tablename where fieldname = abc
-- truncate table tablename
exec fk_switch tablename,1
*/
create proc fk_switch @tablename varchar(20),@status bit
as
declare @fk varchar(50),@fktable varchar(20)
declare @s varchar(1000)
declare cur cursor for
select b.name as fkname,c.name as fktablename
from sysforeignkeys a
join sysobjects b on a.constid = b.id
join sysobjects c on a.fkeyid = c.id
join sysobjects d on a.rkeyid = d.id
where d.name = @tablename
open cur
fetch next from cur into @fk,@fktable
while @@fetch_status = 0
begin
if @status = 0
begin
set @s = 'alter table +@fktable+ nocheck constraint + @fk'
print @s
end
else
begin
set @s = 'alter table +@fktable+ check constraint + @fk'
print @s
end
exec(@s)
fetch next from cur into @fk,@fktable
end
close cur
deallocate cur
[/code]