Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server:将非常大的表中的列更改为NOTNULL_Sql_Sql Server_Sql Server 2012_Sql Server Express - Fatal编程技术网

SQL Server:将非常大的表中的列更改为NOTNULL

SQL Server:将非常大的表中的列更改为NOTNULL,sql,sql-server,sql-server-2012,sql-server-express,Sql,Sql Server,Sql Server 2012,Sql Server Express,我正在尝试将3.5 gb表(SQL Server Express)上的列更改为非null 所有行都包含表中的值 我从允许null中删除复选框,然后单击保存 我得到: 无法修改表。 超时已过期。操作完成前已过超时时间,或者服务器没有响应 我如何克服这个问题?它可能无法直接工作。你需要这样做 首先,将表中的所有空值设为非空 UPDATE tblname SET colname=0 WHERE colname IS NULL 然后更新您的表 ALTER TABLE tblname ALTER COL

我正在尝试将3.5 gb表(SQL Server Express)上的列更改为
非null

所有行都包含表中的值

我从
允许null
中删除复选框,然后单击保存

我得到:

无法修改表。
超时已过期。操作完成前已过超时时间,或者服务器没有响应


我如何克服这个问题?

它可能无法直接工作。你需要这样做

首先,将表中的所有空值设为非空

UPDATE tblname SET colname=0 WHERE colname IS NULL
然后更新您的表

ALTER TABLE tblname ALTER COLUMN colname INTEGER NOT NULL
希望这能解决您的问题。

试试这个:

 ALTER TABLE tblname ADD CONSTRAINT [DF_tblname_colnamename] DEFAULT (0) FOR  colname
 ALTER TABLE tblname ALTER COLUMN colname INTEGER  NOT NULL

您还可以增加或覆盖超时

  • 在SQL Server Management Studio中,单击工具->选项
  • 展开“设计器”并选择左侧的“表和数据库设计器”(见图)
  • 从这里,您可以选择覆盖或增加超时:

    • 增加您的“交易超时时间:”(参见图)

    • 取消选中“覆盖表设计器更新的连接字符串超时值:”

  • 如您所见,默认超时为30秒。这些选项记录在上