标签: sql-server-2005-express

如何以编程方式更改标识列值?

我有一个Test带有列的表的MS SQL 2005数据库ID.ID是一个标识列.

我在这个表中有行,并且所有行都有相应的ID自动增量值.

现在我想更改此表中的每个ID,如下所示:

    ALTER TABLE Test NOCHECK CONSTRAINT ALL 
    set identity_insert ID ON
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我收到一个错误:

    ALTER TABLE Test NOCHECK CONSTRAINT ALL 
    set identity_insert ID ON
Run Code Online (Sandbox Code Playgroud)

我试过这个:

    ALTER TABLE Test NOCHECK CONSTRAINT ALL 
    set identity_insert ID ON
Run Code Online (Sandbox Code Playgroud)

但这并没有解决问题.

我需要将标识设置为此列,但我还需要不时更改值.所以我的问题是如何完成这项任务.

t-sql sql-server identity sql-server-2005 sql-server-2005-express

160
推荐指数
6
解决办法
31万
查看次数

错误消息:(提供程序:共享内存提供程序,错误:0 - 管道的另一端没有进程.)

我试图在Windows Server 2003上部署我的网站.我错过了以下错误消息中的内容或错误,我该如何纠正?谢谢

我收到错误消息:

已成功与服务器建立连接,但在登录过程中发生错误.(提供程序:共享内存提供程序,错误:0 - 管道的另一端没有进程.)描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息:System.Data.SqlClient.SqlException:已成功与服务器建立连接,但在登录过程中发生错误.(提供者:共享内存提供者,错误:0 - 管道的另一端没有进程.)

来源错误:

在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.

堆栈跟踪:

[SqlException(0x80131904):已成功与服务器建立连接,但在登录过程中发生错误.(提供者:共享内存提供者,错误:0 - 没有进程在管道的另一端.)]
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)+1019
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection) owningConnection)+108
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory)+126
System.Data.SqlClient.SqlConnection.Open()+ 125
NHibernate.Connection.DriverConnectionProvider.GetConnection()+ 104
NHibernate.Tool. hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare()+15 NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords(Dialect dialect,IConnectionHelper connectionHelper)+89
NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.Update(ISessionFactory sessionFactory)+80
NHibernate.Impl.SessionFactoryImpl..ctor (配置cfg,IMapping映射,设置设置,EventListeners侦听器)+599
NHibernate.Cfg.Configuration.BuildSessionFactory()+ 104
M C:\ Dev\Code\API\Data\SessionManager.cs中的yProject.API.Data.SessionManager..cctor():27

sql asp.net-mvc sql-server-2005-express windows-server-2003

56
推荐指数
9
解决办法
19万
查看次数

我如何加入存储过程?

我有一个不带参数的存储过程,它返回两个字段.存储过程汇总应用于租户的所有事务,并返回租户的余额和ID.

我想使用它返回的记录集和查询,我需要在租户的id上加入它的结果.

这是我目前的查询:

SELECT t.TenantName, t.CarPlateNumber, t.CarColor, t.Sex, t.SSNO, t.Phone, t.Memo,
        u.UnitNumber,
        p.PropertyName
FROM tblTenant t
    LEFT JOIN tblRentalUnit u
    ON t.UnitID = u.ID

    LEFT JOIN tblProperty p
    ON u.PropertyID = p.ID

ORDER BY p.PropertyName, t.CarPlateNumber
Run Code Online (Sandbox Code Playgroud)

存储过程是这样的:

SELECT tenant.ID AS TenantID, SUM(ISNULL(trans.Amount,0)) AS TenantBalance FROM tblTenant tenant
    LEFT JOIN tblTransaction trans
    ON tenant.ID = trans.TenantID
    GROUP BY tenant.ID
Run Code Online (Sandbox Code Playgroud)

我想从存储过程中添加余额.

我怎样才能做到这一点?

sql sql-server-2005-express

45
推荐指数
6
解决办法
14万
查看次数

使用具有WHERE条件的单个查询(SQL Express 2005)从多个表中删除行

这是我正在使用的查询:

 DELETE TB1.*, TB2.*
   FROM TB1
        INNER JOIN TB2 ON TB1.PersonID = TB2.PersonID 
  WHERE (TB1.PersonID)='2'
Run Code Online (Sandbox Code Playgroud)

它在MS Access中工作正常但在SQL Server Express 2005中收到错误(','.附近的语法不正确).

怎么解决?请帮忙.

sql sql-server sql-server-2005-express sql-server-express

20
推荐指数
2
解决办法
12万
查看次数

如何查看sql二进制数据字段的内容?

有谁知道如何在MS SQL Server 2005数据库中查看包含二进制数据的字段的内容?

sql sql-server-2005-express binary-data

15
推荐指数
1
解决办法
4万
查看次数

如何在Windows 8中安装SQL Server 2005 Express

我尝试在Windows 8上安装SQL Server 2005 Express SP3 x64,但安装程序给出了一个错误:

无法找到产品Microsoft SQL Server本机客户端的安装包.使用安装包'sqlncli_x64.msi'的有效副本再次尝试安装

在此输入图像描述

我该如何解决这个问题?

sql-server-2005 sql-server-2005-express

12
推荐指数
3
解决办法
11万
查看次数

为什么我的类型化数据集不像临时表?

我正在尝试将tableadapter添加到我的SQL Server 2005 Express中的存储过程.但是,存储过程使用名为#temp的临时表.创建表适配器时,Visual Studio会抱怨"未知对象'#temp'"并表示存储过程返回0列.这是有问题的,因为我使用带有水晶报表的存储过程,并且需要这些列.

我怎样才能解决这个问题?

t-sql stored-procedures sql-server-2005-express strongly-typed-dataset visual-studio-2008

9
推荐指数
1
解决办法
7756
查看次数

无法在sql server中恢复数据库(single_user)

我正在尝试在我的sql server 2005 express版中恢复数据库.我知道要恢复数据库,我需要让它成为单个用户.我给这个命令让它成为单个用户

USE [master]
ALTER DATABASE database_name SET SINGLE_USER WITH ROLLBACK IMMEDIATE
Run Code Online (Sandbox Code Playgroud)

这个命令执行得很正常,我甚至可以在这个数据库的对象资源管理器中看到一个小图像,显示这个现在是单个用户.

现在我尝试通过以下步骤恢复数据库 - >右键单击数据库和任务,然后恢复数据库.我正在选择备份文件所在的路径,然后单击"还原".

但我仍然得到这个错误"因为数据库正在使用中无法获得独占访问权限(microsoft.sqlserver.smo).我错过了什么.我用Google搜索了所有网站,并且所有网站都建议数据库需要在单个用户中模式,没有别的.

我没有尝试分离和附加数据库方法.我以前从未这样做过,想知道这样做是否安全.

编辑:谢谢你的答案.两个人都建议我回答相同,所以我选择了一个答案.

我甚至选择从选项覆盖现有数据库.

sql-server sql-server-2005-express

7
推荐指数
1
解决办法
1万
查看次数

SQL 2005 Express Edition - 安装新实例

寻找以编程方式或其他方式将SQL 2005 Express Edition的新实例添加到已安装实例的系统的方法.传统上,你运行Micrsoft的安装程序,就像我在下面的命令行中一样,它可以解决问题.在我的安装程序中执行命令不是问题,如果他们已经安装了SQL Express,那么更多的是拖动我不需要的40 MB MS-SQL安装程序.这是我的安装程序当前执行的内容:

SQLEXPR32.EXE /qb ADDLOCAL=ALL INSTANCENAME=<instancename> SECURITYMODE=SQL SAPWD=<password> SQLAUTOSTART=1 DISABLENETWORKPROTOCOLS=0
Run Code Online (Sandbox Code Playgroud)

我不需要启动此命令的帮助,而是在没有实际再次运行完整安装程序的情况下添加新的SQL 2005 Express实例的适当方法.

我会详细说明为什么我要这样做,但我只是让每个人都感到满意.可以说,有这种能力创建一个新实例而没有时间重新安装SQL Express等,这将极大地帮助我部署我的应用程序和它的安装程序.如果对任何人有任何影响,我会在此安装项目中使用NSIS和Advanced Installer的组合.

command-line install instance sql-server-2005-express sql-server-express

6
推荐指数
1
解决办法
2万
查看次数

ROW_NUMBER OVER(ORDER BY date_column)

我想知道.我有一个复杂的查询,它在大约3秒内在SQL Server 2005 Express版本中运行.

主表有大约300k行.

当我添加

ROW_NUMBER() OVER (ORDER BY date_column)
Run Code Online (Sandbox Code Playgroud)

date_column是一个datetime列需要123秒.

如果我做

ROW_NUMBER() OVER (ORDER BY string_title)
Run Code Online (Sandbox Code Playgroud)

它再次在3秒内运行.

我在datetime列上添加了一个索引.没变.还有123秒.

然后我尝试了:

ROW_NUMBER() OVER (ORDER BY CAST(date_column AS int))
Run Code Online (Sandbox Code Playgroud)

并且查询再次在3秒内运行.

由于转换需要时间,为什么SQL Server的行为如下?

更新:似乎ROW_NUMBER完全忽略我的WHERE语句并为所有可用条目构建行列列表?任何人都可以证实吗?

在这里,我在SQL Management Studio中复制了一个更好的可读(仍然是逻辑:)):

SELECT ROW_NUMBER() OVER (ORDER BY xinfobase.lid) AS row_num, *
FROM xinfobase
LEFT OUTER JOIN [xinfobasetree] ON [xinfobasetree].[lid] = [xinfobase].[xlngfolder] 
LEFT OUTER JOIN [xapptqadr] ON [xapptqadr].[lid] = [xinfobase].[xlngcontact] 
LEFT OUTER JOIN [xinfobasepvaluesdyn] ON [xinfobasepvaluesdyn].[lparentid] = [xinfobase].[lid] 
WHERE (xinfobase.xlngisdeleted=2 
AND xinfobase.xlinvalid=2) …
Run Code Online (Sandbox Code Playgroud)

sql-server performance sql-server-2005-express

6
推荐指数
1
解决办法
5684
查看次数