当我执行此 SQL 时:
USE ASPState
GO
IF NOT EXISTS(SELECT * FROM sys.sysusers WHERE NAME = 'R2Server\AAOUser')
CREATE USER [R2Server\AAOUser] FOR LOGIN [R2Server\AAOUser];
GO
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
该登录名已有一个使用不同用户名的帐户。
我怎么知道我的登录帐户的这个不同的用户名是什么?
Owned Schemas和之间有区别Role Members吗?
根据我的理解,这Role Members是强制性的 - 用户需要至少Role Members选中一个复选框。
然而,这Owned Schemas不是强制性的。这真的让我想知道为什么需要Owned Schemas在那里。

我正在遵循指南 - http://www.sqlchicken.com/2009/07/how-to-create-a-server-side-trace-with-sql-profiler/直到我到达第 8 步
- 现在安排您新创建的脚本。在 SSMS 中连接到要跟踪的服务器。转到您的 SQL Server 代理并展开它,以便您可以看到 Jobs 文件夹。右键单击“作业”文件夹并选择“新建作业”。

我找不到SQL Server Agent。我在哪里可以使这个SQL Server Agent可见?我已经给了当前用户所有的访问权限。
我testtable在数据库testbase中创建了一个具有以下结构的表:
product_no (int, not null)
product_name (varchar(30), not null)
price (money, null)
expire_date (date, null)
expire_time (time(7), null)
Run Code Online (Sandbox Code Playgroud)
我使用了 Microsoft SQL Server 2008 Management Studio。
我创建了一个存储过程testtable_pricesmaller如下
use testbase
go
create procedure testtable_pricesmaller
@pricelimit money
as
select * from testtable where price = @pricelimit;
go
Run Code Online (Sandbox Code Playgroud)
并且能够查看Object ExplorerMicrosoft SQL Server Management Studio上的存储过程。(它在下面的树结构中列出Object Explorer)
Databases
+ testbase
+ Tables
+ dbo.testtable
+ Programmability
+ Stored Procedures
+ dbo.testtable_pricesmaller
Run Code Online (Sandbox Code Playgroud)
当我收到以下错误时,我觉得很奇怪:
Could not find the …Run Code Online (Sandbox Code Playgroud) 我有下表:
==========================================================
| Name_Level_Class_Section | Phone Num |
==========================================================
| Jacky_1_B2_23 | 1122554455 |
| Johnhy_1_B2_24 | 1122554455 |
| Peter_2_A5_3 | 1122554455 |
==========================================================
Run Code Online (Sandbox Code Playgroud)
我正在考虑将我的 SQL 语句简化如下:
select
*,
substring(Name_Level_Class_Section,
CHARINDEX('_',Name_Level_Class_Section,
(CHARINDEX('_', Name_Level_Class_Section) + 1)) + 1,
CHARINDEX('_',Name_Level_Class_Section,
(CHARINDEX('_',Name_Level_Class_Section,
(CHARINDEX('_',Name_Level_Class_Section)+1))+1))-
CHARINDEX('_',Name_Level_Class_Section,
(CHARINDEX('_',Name_Level_Class_Section)+1))) as CLA
from
Bookings
order by
CLA asc, Name_Level_Class_Section asc
Run Code Online (Sandbox Code Playgroud)
这样当我执行 SQL 时,它会给我以下结果:
==========================================================
| Name_Level_Class_Section | Phone Num | CLA |
==========================================================
| Jacky_1_B2_23 | 1122554455 | B2 |
| Johnhy_1_B2_24 | 1122554455 | B2 | …Run Code Online (Sandbox Code Playgroud) 我们可以声明一个Identitylikeid_num来id_num增加唯一的数字。
CREATE TABLE new_employees
(
id_num int IDENTITY(1,1),
fname varchar (20),
minit char(1),
lname varchar(30)
)
Run Code Online (Sandbox Code Playgroud)
是否建议将其Identity用作替代方案,Primary key因为Identity为每一行提供了唯一编号?
我testtable在数据库testbase中创建了一个具有以下结构的表:
product_no (int, not null)
product_name (varchar(30), not null)
price (money, null)
expire_date (date, null)
expire_time (time(7), null)
Run Code Online (Sandbox Code Playgroud)
但是,如何编写触发器,以便它更新已修改(或使用新信息更新)的特定行,并将修改日期记录到expire_date字段中,并将修改时间记录到expire_time字段中?(或者如果这是可能的?)
我遇到以下错误:
Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself.
Run Code Online (Sandbox Code Playgroud)
当我尝试这些命令时
USE ASPState
GO
GRANT EXECUTE ON CreateTempTables TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON DeleteExpiredSessions TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON GetMajorVersion TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON GetHashCode TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempGetAppID TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempGetStateItem TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempGetStateItem2 TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempGetStateItem3 TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempGetStateItemExclusive …Run Code Online (Sandbox Code Playgroud) 建议使用哪个 SQL 命令将日期转换为yyyymmdd格式?
convert(varchar(8), getdate(), 112); 或者convert(varchar, getdate(), 112)我注意到如果我使用第二个,它会在日期后附加两个空格。(例如 [ 20130705] - 注意值后面的两个空格20130705)
是否建议使用第一个 SQL 语句?
我在一个数据库中有 50 多个表。
我不想在数据库中的每个表上使用以下 SQL。
select * from {table_name}
Run Code Online (Sandbox Code Playgroud)
那么,是否可以使用 sql 显示同一数据库中每个表的前 10 条记录?
sql-server ×7
ssms ×2
date-format ×1
identity ×1
logins ×1
permissions ×1
primary-key ×1
role ×1
schema ×1
security ×1
trigger ×1