- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前有一个有 80 个客户的软件。
当数据不同时,它们都共享相同的数据库结构。
我们为每个客户获得了 5 个数据库。
今天,我们已经命名了实例,所以程序正在访问 Bdd,如下所示:
最佳答案
这是使用模式的高级 View 。这些脚本创建了一个测试数据库,在其中创建了两个用户(T1 和 T2)和两个模式(S1 和 S2)。然后它以每个用户的身份“登录”并以该用户的身份创建表并因此绑定(bind)到该模式,然后插入一些数据并将其读出。然后它“注销”( REVERT
)并使用模式限定名称从两个表中进行选择。如果您注释掉 drop 部分,您可以作为用户之一登录并执行不合格的 SELECT * FROM Test
它会自动找到正确的模式。
使用 sa 或其他管理员帐户(有权创建表、登录名、模式和授予 GRANT 的权限)运行以下代码
--//Make sure we're using the correct credentials, this undoes any calls to EXECUTE AS ...
REVERT
GO
--//Switch to the master database
USE MASTER
GO
--//Create our test database
CREATE DATABASE Tester
GO
--//Swtich to the test database
USE Tester
GO
--//CREATE two logins, T1 and T2
CREATE LOGIN T1 WITH PASSWORD = 'T1'
CREATE USER T1 WITH DEFAULT_SCHEMA = S1
CREATE LOGIN T2 WITH PASSWORD = 'T2'
CREATE USER T2 WITH DEFAULT_SCHEMA = S2
GO
--//Give them permission to create tables
GRANT CREATE TABLE to T1
GRANT CREATE TABLE to T2
GO
--//Create two schemas, S1 and S2
CREATE SCHEMA S1 AUTHORIZATION T1
GO
CREATE SCHEMA S2 AUTHORIZATION T2
GO
--//Switch context to the T1 user
EXECUTE AS USER = 'T1'
GO
--//Create our table
CREATE TABLE Test
(
Col1 varChar(255)
)
GO
--//Insert some data
INSERT INTO Test VALUES ('This is from schema 1')
GO
--//Displays schema 1
SELECT * FROM Test
--//Switch back to the currently logged in user
REVERT
GO
--//Switch context to the T2 user
EXECUTE AS USER = 'T2'
GO
--//Create our table
CREATE TABLE Test
(
Col1 varChar(255)
)
GO
--//Insert some data
INSERT INTO Test VALUES ('This is from schema 2')
GO
--//Displays schema 2
SELECT * FROM Test
GO
--//Switch back to the currently logged in user
REVERT
GO
--//As the main user now select from both tables by schema-prefix
SELECT * FROM S1.Test
UNION
SELECT * FROM S2.Test
--//Cleanup everything that we just made
DROP TABLE S1.Test
DROP TABLE S2.Test
DROP SCHEMA S1
DROP SCHEMA S2
DROP LOGIN T1
DROP LOGIN T2
GO
USE MASTER
GO
DROP DATABASE Tester
GO
GRANT
如果您不想授予登录表创建权限,您可以改为使用更高级别的帐户并执行
CREATE TABLE S1.Test(...)
.我只是发现这样做更容易,这样我就不必一直对所有事情进行限定。在我创建东西之后,我就可以
REVOKE
许可。
关于sql-server - 将 SqlServer(2008) 命名实例迁移到模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5275030/
在我的 Windows 类库(由 MVC 网站使用)中,我安装了 NugetPackage Microsoft.SqlServer.Types (Spatial)。 现在,我正在使用 ado.net
测试sql: 复制代码代码如下: SET STATISTICS IO ON SET STATISTICS TIME ON SELECT COUNT(1)&n
我正在从 SqlConnection 构建 DbContext。当我使用它时,我收到以下错误: The Entity Framework provider type 'System.Data.Enti
我使用dotNet 4.5创建了WCF服务。数据库层是使用Entity Framework 6构建的。 我使用IIS 8托管了该服务。它运行正常。 现在,我需要使用Windows窗体客户端使用该服务,
我正在尝试从 SqlServer 1 上的 sql 数据库中导出一些表。在我们的内部网 LAN(就在我旁边)中有一个我制作的临时 Sql Server,称为 SqlServer 2。 我不想备份整个数
Error 1 Copying file bin\EntityFramework.SqlServer.xml to obj\Debug\Package\PackageTmp\bin\Entit
我正在尝试使用 SMO 通过 Powershell 恢复数据库,但是当我尝试定义和使用服务器对象时,出现以下错误: Cannot convert argument "srv", with value:
出于某种原因,我需要将我的表列之一从“NOT NULL”更新为“NULL”。命令很简单: ALTER TABLE TBLOGDOCMESSAGE ALTER COLUMN PROCESSID BIGI
我想知道我正在尝试做的事情是否可行。我相信它是在 TSQL 中使用 PIVOT 函数,但对 PIVOT 函数没有足够的经验来知道从哪里开始。 基本上,我正在尝试采用以下名为 #tmpbudgetdat
我正在尝试将子查询作为带有条件的列。 我从 SQL Server 得到的错误是: 子查询返回了 1 个以上的值。当子查询跟随 =、!=、、>= 或当子查询用作表达式时,这是不允许的。 我正在选择更多的
我有一个正在查询的 SQL 服务器数据库,我只想在特定行为空时获取信息。我使用了一个 where 语句,例如: WHERE database.foobar = NULL 它不返回任何东西。但是,我知道
1、拼接字符串(整个字符串不分割)步骤: 首先在字符串的前后加单引号; 字符串中的变量以'''+@para+'''在字符串中表示; 若在执行时存在类型转换错误,则应用相应的类型
说明: 收缩日志的原因有很多种,有些是考虑空间不足,有些则是应用程序限制导致的。 ?
Rand()函数是系统自带的获取随机数的函数,可以直接运行select rand() 获取0~1之间的float型的数字。 如果想要获取0~100之间的整数随机数,可以这样使用 select ro
将以下内容保存为 openSql.bat 双击运行即可 复制代码 代码如下: @echo ========= SQL Server Ports =================== @ech
新增的APPLY表运算符把右表表达式应用到左表表达式中的每一行。它不像JOIN那样先计算那个表表达式都可以,APPLY必选先逻辑地计算左表达式。这种计算输入的逻辑顺序允许吧右表达式关联到左表表达式。
SQL Server本身提供了这么一个DMV来返回这些信息,它就是sys.dm_exec_sessions 。 比如在我的机器上做一下查询: 复制代码 代码如下: SELECT * FROM
尽管从技术上讲,其它排名函数的计算与ROW_NUMBER类似,但它们的的实际应用却少很多。RANK和DENSE——RANK主要用于排名和积分。NTILE更多地用于分析。 先创建一个示例表: 复制
1、文件和文件组的含义与关系 每个数据库有一个主数据文件.和若干个从文件。文件是数据库的物理体现。 文件组可以包括分布在多个逻辑分区的文件,实现负载平衡。文件组允许对文件进行分组,以便于管理和数据的
我想很多人都知道,在oracle里面,存储过程里面可以传入数组(如int[]),也就是说,可以传多条记录到数据,从而一起更新。减少数据库的请求次数。 但SqlServer呢?bulk Insert这
我是一名优秀的程序员,十分优秀!