我如何在SQL Server数据库中查找最大的对象?首先,通过确定哪些表(和相关索引)最大,然后确定特定表中哪些行最大(我们将二进制数据存储在BLOB中)?
有没有什么工具可以帮助进行这种数据库分析?或者是否有一些我可以对系统表运行的简单查询?
哪个更高效,CTE或者Temporary Tables?
sql-server performance temp-tables common-table-expression sql-server-2008
我尝试使用SQL Server 2008创建数据库diagramm,但发生错误:
无法安装数据库关系图支持对象,因为此数据库没有有效的所有者.要继续,首先使用"数据库属性"对话框的"文件"页面或ALTER AUTHORIZATION语句将数据库所有者设置为有效登录,然后添加数据库关系图支持对象.
然后我尝试了以下内容:
EXEC sp_dbcmptlevel 'Ariha', '90';
GO
ALTER AUTHORIZATION ON DATABASE::Ariha TO [WIN-NDKPHUPPNFL\Administrator]
GO
USE Ariha
GO
EXECUTE AS USER = N'dbo' REVERT
GO
Run Code Online (Sandbox Code Playgroud)
下一个erorr弹出:
消息15404,级别16,状态11,行1无法获取有关Windows NT组/用户'WIN-NDKPHUPPNFL\Administrator'的信息,错误代码0x534.
问题是PC的名称已更改为"DevPC"我也在更新脚本中更改了此项,但仍然是相同的错误15404.
我该怎么做才能解决这个恼人的错误?
在SQL Server 2008中更改表(删除列)时,我单击了Generate Change Script按钮,我发现它生成的更改脚本会删除列,说"go",然后运行另一个看似要设置的ALTER TABLE语句表的锁升级为"TABLE".例:
ALTER TABLE dbo.Contract SET (LOCK_ESCALATION = TABLE)
Run Code Online (Sandbox Code Playgroud)
我还应该注意,这是更改脚本正在做的最后一件事.它在这做什么,为什么将LOCK_ESCALATION设置为TABLE?
我想知道微软的SQL Server Management Studio是否还有其他选择?
没有SSMS有任何问题,但有时它看起来太大了,我想要的只是浏览/编辑表和运行查询.
SQL Server中是否有任何方法可以从给定的偏移量开始获取结果?例如,在另一种类型的SQL数据库中,可以执行以下操作:
SELECT * FROM MyTable OFFSET 50 LIMIT 25
Run Code Online (Sandbox Code Playgroud)
得到结果51-75.此构造似乎不存在于SQL Server中.
如何在不加载我不关心的所有行的情况下完成此操作?谢谢!
我需要ALTER表中几列的数据类型.
对于单个列,以下工作正常:
ALTER TABLE tblcommodityOHLC
ALTER COLUMN
CC_CommodityContractID NUMERIC(18,0)
Run Code Online (Sandbox Code Playgroud)
但是如何在一个语句中更改多个列?以下不起作用:
ALTER TABLE tblcommodityOHLC
ALTER COLUMN
CC_CommodityContractID NUMERIC(18,0),
CM_CommodityID NUMERIC(18,0)
Run Code Online (Sandbox Code Playgroud) 我需要找出数据库中是否存在函数,以便我可以删除它并再次创建它.它应该基本上类似于我用于存储过程的以下代码:
IF EXISTS (
SELECT *
FROM dbo.sysobjects
WHERE id = OBJECT_ID(N'[dbo].[SP_TEST]')
AND OBJECTPROPERTY(id, N'IsProcedure') = 1 )
Run Code Online (Sandbox Code Playgroud) 我有一个MS SQL CTE查询,我想从中创建一个临时表.我不知道怎么做,因为它给出了一个Invalid Object name错误.
以下是整个查询供参考
SELECT * INTO TEMPBLOCKEDDATES FROM
;with Calendar as (
select EventID, EventTitle, EventStartDate, EventEndDate, EventEnumDays,EventStartTime,EventEndTime, EventRecurring, EventStartDate as PlannedDate
,EventType from EventCalender
where EventActive = 1 AND LanguageID =1 AND EventBlockDate = 1
union all
select EventID, EventTitle, EventStartDate, EventEndDate, EventEnumDays,EventStartTime,EventEndTime, EventRecurring, dateadd(dd, 1, PlannedDate)
,EventType from Calendar
where EventRecurring = 1
and dateadd(dd, 1, PlannedDate) <= EventEndDate
)
select EventID, EventStartDate, EventEndDate, PlannedDate as [EventDates], Cast(PlannedDate As datetime) AS DT, Cast(EventStartTime …Run Code Online (Sandbox Code Playgroud) 我需要添加适当的index表格,需要一些帮助.
我很困惑,需要澄清几点:
我应该为non-int列使用索引吗?为什么/为什么不呢
我已经读了很多关于clustered和non-clustered指数但我仍然不能确定何时使用一个比其他.一个很好的例子可以帮助我和许多其他开发人员.
我知道我不应该为经常更新的列或表使用索引.我还应该注意什么呢?在进入测试阶段之前我怎么知道这一切都很好?
sql-server indexing database-design clustered-index non-clustered-index
sql-server ×10
sql ×4
alter-column ×1
database ×1
indexing ×1
performance ×1
sql-function ×1
t-sql ×1
temp-tables ×1