Questions tagged «sql-server-2008»

使用此标记可以解决针对Microsoft SQL Server 2008版本的特定问题。

23
已成功与服务器建立连接,但登录前握手期间发生错误
当我尝试从本地环境连接生产数据库时,出现以下错误。 我以前可以连接生产数据库,但突然我收到以下错误消息,知道吗? 已成功与服务器建立连接,但是在登录前握手期间发生错误。(提供者:TCP提供程序,错误:0-句柄无效。) 我试图在本地PC中运行asp.net网站,该网站具有生产数据库的连接字符串,以下是我在本地环境中遇到的错误的堆栈跟踪。 > at MyWebsiteDAL.clsForumQuestion.SelectAll(Int32 CurrentPageIndex, Int32 PageSize) in D:\EDrive\My WebSites\MyWebsite\MyWebsite\MyWebsiteDAL\clsForumQuestion.cs:line 821 at CodeConnect.Default.Page_Load(Object sender, EventArgs e) in D:\EDrive\My WebSites\MyWebsite\MyWebsite\MyWebsite\Default.aspx.cs:line 100 at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 知道这里可能出了什么问题吗?

6
SQL将外键添加到现有列
如果我在SQL Server 2008中使用以下SQL命令来更新具有外键约束的表: ALTER TABLE Employees ADD FOREIGN KEY (UserID) REFERENCES ActiveDirectories(id) UserID是我在Employees表格中的FK列。我正在尝试UserID在ActiveDirectories表格中引用。我收到此错误: 外键“ UserID”引用引用表“ Employees”中的无效列“ UserID”。

8
SQL连接与SQL子查询(性能)?
我想知道我是否有类似这样的联接查询- Select E.Id,E.Name from Employee E join Dept D on E.DeptId=D.Id 和一个类似这样的子查询 - Select E.Id,E.Name from Employee Where DeptId in (Select Id from Dept) 当我考虑性能时,两个查询中的哪个查询会更快,为什么? 还有一段时间我应该优先选择另一个吗? 抱歉,这太琐碎了,之前问过,但是我对此感到困惑。另外,如果你们能建议我一些我可以用来衡量两个查询性能的工具,那将是很棒的。非常感谢!


4
如何在列上创建唯一约束(SQL Server 2008 R2)?
我有SQL Server 2008 R2,我想设置一个唯一列。 似乎有两种方法可以做到这一点:“唯一索引”和“唯一约束”。尽管大多数人建议使用唯一性约束,但它们与我了解的差别不大,因为您也会自动获得索引。 如何创建唯一约束? ALTER TABLE Customer ADD CONSTRAINT U_Name UNIQUE(Name) 是否可以通过SQL Server Management Studio创建唯一约束?

13
数据库的事务日志已满
我有一个运行时间很长的过程,可以在整个过程中保持打开事务。 我无法控制它的执行方式。 由于事务在整个持续时间内保持打开状态,因此当事务日志填满时,SQL Server无法增加日志文件的大小。 因此,该过程因错误而失败"The transaction log for database 'xxx' is full"。 我试图通过增加数据库属性中事务日志文件的大小来防止这种情况,但是却出现了相同的错误。 不知道下一步该怎么做。该过程运行了几个小时,因此反复试验并不容易。 有任何想法吗? 如果有人感兴趣,该过程就是组织导入 Microsoft Dynamics CRM 4.0. 有足够的磁盘空间,我们在简单的日志记录模式下保存了日志,并且在启动该过程之前已经备份了日志。 -=-=-=-=-更新-=-=-=-=- 到目前为止,感谢所有评论。以下是使我相信由于打开的事务日志不会增长的原因: 我收到以下错误... Import Organization (Name=xxx, Id=560d04e7-98ed-e211-9759-0050569d6d39) failed with Exception: System.Data.SqlClient.SqlException: The transaction log for database 'xxx' is full. To find out why space in the log cannot be …

4
如何在SQL Server中将Active Directory用户组添加为登录名
我有一个.net应用程序,该应用程序使用Windows身份验证连接到SQL Server。 我们无法在应用程序中使用SQL Server身份验证。我们的项目中有很多Active Directory用户。因此,我们必须为SQL Server中的每个Active Directory用户创建一个单独的登录帐户,而不是为每个AD用户创建一个单独的登录帐户,是否可以使用SQL Server中的Active Directory用户组?

17
如何使用Print Statement打印VARCHAR(MAX)?
我有一个代码是: DECLARE @Script VARCHAR(MAX) SELECT @Script = definition FROM manged.sys.all_sql_modules sq where sq.object_id = (SELECT object_id from managed.sys.objects Where type = 'P' and Name = 'usp_gen_data') Declare @Pos int SELECT @pos=CHARINDEX(CHAR(13)+CHAR(10),@script,7500) PRINT SUBSTRING(@Script,1,@Pos) PRINT SUBSTRING(@script,@pos,8000) 脚本的长度大约为10,000个字符,并且由于我使用的print语句最多只能容纳8000个字符。因此,我使用的是两个print语句。 问题是当我有一个脚本(例如18000个字符)时,我曾经使用3条打印语句。 那么,有没有一种方法可以根据脚本的长度来设置打印语句的数量?


13
如何找到MS SQL Server 2008的端口?
我在本地计算机上运行MS SQL Server 2008。我知道默认端口是1433,但是有些端口不监听此端口。SQL是Express版本。 我已经尝试使用日志,SQL Server Management Studio,注册表和扩展的存储过程来查找端口。但是,我找不到它。请帮我。谢谢。


18
将选择结果转换为插入脚本-SQL Server
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 改善这个问题 我有SQL Server 2008SQL Server Management Studio。 我需要从Table1database1中选择数据。然后,我必须在结果和insert values into Table1database2中编辑一些值。 或者让我换种说法。 如何将一个表中的数据转换为insert script。

4
如何启用即席分布式查询
当我OPENROWSET在SQL Server 2000中运行查询时,它可以工作。 但是,SQL Server 2008中的同一查询会产生以下错误: SQL Server阻止访问组件“ Ad Hoc Distributed Queries”的STATEMENT“ OpenRowset / OpenDatasource”,因为此组件的安全配置已关闭此组件。系统管理员可以通过使用sp_configure启用“临时分布式查询”的使用

3
为什么要使用SQL Server 2008地理数据类型?
我正在重新设计一个客户数据库,我想与标准地址字段(街道,城市等)一起存储的新信息之一就是地址的地理位置。我要记住的唯一用例是,当找不到地址时,允许用户在Google地图上绘制坐标,这通常是在新开发的区域或位于偏远/农村位置时发生。 我的第一个倾向是将纬度和经度存储为十进制值,但是后来我想起了SQL Server 2008 R2具有geography数据类型。我绝对没有使用过的经验geography,并且从我的初步研究来看,对于我的情况而言,这似乎有些过分。 例如,要使用存储为的纬度和经度decimal(7,4),我可以这样做: insert into Geotest(Latitude, Longitude) values (47.6475, -122.1393) select Latitude, Longitude from Geotest 但是使用geography,我可以这样做: insert into Geotest(Geolocation) values (geography::Point(47.6475, -122.1393, 4326)) select Geolocation.Lat, Geolocation.Long from Geotest 尽管没有那么复杂,但是如果不需要的话,为什么还要增加复杂性呢? 在放弃使用的想法之前geography,我应该考虑什么?使用空间索引搜索位置是否比索引纬度和经度字段更快?使用geography我没有意识到的优点吗?或者,另一方面,我应该知道哪些警告会阻止我使用geography? 更新资料 @Erik Philips带来了使用进行邻近搜索的功能geography,这非常酷。 另一方面,一项快速测试显示,使用时,简单select地获取经度和纬度会明显变慢geography(详细信息如下)。,而对另一个SO问题的公认答案的评论geography让我很不高兴: @SaphuA不客气。作为一个附带说明,非常小心使用可为null的GEOGRAPHY数据类型列上的空间索引。存在一些严重的性能问题,因此即使您必须重新构建架构,也应使GEOGRAPHY列不可为空。–托马斯6月18日11:18 总而言之,在权衡进行邻近搜索的可能性与性能和复杂性之间的权衡之后,我决定放弃geography在这种情况下的使用。 我运行的测试的详细信息: 我创建了两个表,一个使用geography,另一条使用decimal(9,6)的纬度和经度: CREATE TABLE [dbo].[GeographyTest] ( [RowId] [int] IDENTITY(1,1) NOT NULL, …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.