我想使用我在 C# CLR 中开发的代码在系统上的所有数据库中使用,这样我就不必将每个数据库都设置为可信赖的并打开 CLR 并在每个数据库中保留一堆相同的代码.
从管理和安全的角度来看,有没有最好的方法来做到这一点?CLR 函数非常基础,如字符串断路器、电子邮件验证、url 编码/解码、base64 等。我希望每个数据库中只有 dbo 模式能够访问这些函数。
谢谢
我不确定是否正确使用非聚集索引。SSMS 计划估计器说当以下索引已经在表中时添加另一个索引。
CREATE NONCLUSTERED INDEX [ix_zone_fetch_shipping] ON [dbo].[tbl_shipping_rates_zones]
(
[iso] ASC, [mzone] ASC, [postal] ASC
)
INCLUDE
(
[region], [zone_dom], [zone_emi], [zone_pmi], [zone_fci],
[zone_ups], [zone_fed]
)
Run Code Online (Sandbox Code Playgroud)
我的查询是
SELECT * FROM tbl_shipping_rates_zones WHERE postal = '10001'
Run Code Online (Sandbox Code Playgroud)
我的问题是……我应该为所有可能的查找键创建索引吗?我在不同的查询中按 mzone、iso 和 postal 进行搜索。
谢谢
我想使用hierarchyid标识符将一堆具有父->子->孙关系的表解析为单个表。这是我根据我所拥有的得出的。
CREATE TABLE [dbo].[tbl_server_group]
(
[refid] [int] IDENTITY(1,1) NOT NULL,
[refhid] [hierarchyid] NOT NULL,
[reflvl] AS refhid.GetLevel() PERSISTED,
[refdate] [datetime] NOT NULL DEFAULT GETDATE(),
[refname] [varchar](50) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
我的问题是我需要能够要求 refname 是唯一的,但只能在它所在的容器内。由于我使用它来表示服务器,我想模拟各种 DNS 树,但添加其他层它也是。我的例子如下:
ROOT
| something.com
|| www
||| index.html
|| staging
||| testbed.php
| someotherthing.com
|| test
||| index.html
Run Code Online (Sandbox Code Playgroud)
我想确保something.com 只有一个“www”,而www 只有一个“index.html”。
有没有办法用约束来做到这一点?如果没有,是否有一种有效的方法来强制唯一性?
谢谢
我有一个在 IAAS 提供程序上运行的远程数据库,我需要能够从我的本地工作站执行联合查询。我遇到了麻烦,因为当我尝试创建链接时,它试图使用命名管道进行连接。
我使用 SQL Server Native Client 10 创建了一个系统 DSN,并向其提供 IP、数据库、用户和密码。测试了它,它很好。
单击“确定”后,我收到一条错误消息,提示它找不到服务器,并显示它正在尝试使用命名管道。
我应该怎么做才能纠正这个问题?