2014-08-28 2 views
0

새 데이터베이스, 새 사용자 및 로그인을 만드는 다음 스크립트가 있습니다. 내 고객이 데이터베이스에 로그인하여 필요한 테이블 SP를 만들고 데이터로 테이블을 채우는 데 사용하는 사용자 정의 소프트웨어가 있습니다. 데이터베이스는 온라인으로 원격으로 호스팅되며 여기에 대한 전체 액세스 권한이 있습니다.클라이언트 용 SQL Server 데이터베이스 배포

** EDIT-> 문제는 내가 새 연결을 열 수없고 새로운 사용자를 사용하여 테이블을 만들 수 없다는 것입니다. 그것은 sa root 계정 로그인으로 잘 작동하므로 사용 권한 문제와 비슷합니다.

-- SEARCH AND REPLACE THE FOLLOWING TERMS 
-- 
-- db_TestDatabase   Database name 
-- TestPa$$w0rd   password 
-- TestUser1    username 

use master 
go 

--create a test database 
CREATE DATABASE [db_TestDatabase] 
GO 

--create user login 
CREATE LOGIN [TestUser1] WITH PASSWORD=N'TestPa$$w0rd' 
GO 
--create user in database 
CREATE USER [TestUser1] FOR LOGIN [TestUser1] WITH DEFAULT_SCHEMA=[test_Schema] 
GO 
--create role 
CREATE ROLE [test_Role] AUTHORIZATION [dbo] 
GO 
--create schema 
CREATE SCHEMA [test_Schema] AUTHORIZATION [TestUser1] 
GO 
--apply permissions to schemas 
GRANT ALTER ON SCHEMA::[test_Schema] TO [test_Role] 
GO 
GRANT CONTROL ON SCHEMA::[test_Schema] TO [test_Role] 
GO 
GRANT SELECT ON SCHEMA::[test_Schema] TO [test_Role] 
GO 
GRANT DELETE ON SCHEMA::[dbo] TO [test_Role] 
GO 
GRANT INSERT ON SCHEMA::[dbo] TO [test_Role] 
GO 
GRANT SELECT ON SCHEMA::[dbo] TO [test_Role] 
GO 
GRANT UPDATE ON SCHEMA::[dbo] TO [test_Role] 
GO 
GRANT REFERENCES ON SCHEMA::[dbo] TO [test_Role] 
GO 
--ensure role membership is correct 
EXEC sp_addrolemember N'test_Role ', N'TestUser1' 
GO 
--allow users to create tables in test_Schema 
GRANT CREATE TABLE TO [test_Role] 
GO 
--Allow user to connect to database 
GRANT CONNECT TO [TestUser1] 
:

이상적으로 나는이 하나의 스크립트 그래서 난

아래 내 스크립트를 참조하십시오 소란의 최소 쉽게 SQL Server Management Studio를 통해 새로운 클라이언트에 새 데이터베이스를 배포 할 수 있습니다 실행 좋아할

모든 의견을 주시면 감사하겠습니다.

그것은 당신이 그 권한이 있다면 바로, 관리자으로 관리 Studio와 실행을 클릭하십시오, 사용자 액세스 제어 문제가있을 수 있고 당신이보고있는 문제 과거를 얻을 수 있습니다 당신에게

+0

** 당신은 ** sa 로그인을 사용할 수 없다고 말합니까? 아니면 ** 할 수 있습니까 **? 문제가 실제로 무엇인지 명확하게 설명하지 않았습니다. 아마도 오류 메시지가 도움이 될 것입니다. –

+0

sa가 제대로 작동하면 스크립트에서 생성 된 새 사용자가 작동하지 않습니다. – Belliez

답변

0

감사드립니다.

일부 관련 독서 :

User Account Control and SQL Server

사용자 계정 컨트롤이 연결 (SQL Server 로그인)의 측면에서와 하여 관리자의 액세스 제어 목록에 리소스에 대한 액세스를 제한하는 마이크로 소프트 SQL 서버에 영향을 미칩니다 (ACL).

Windows Vista 및 Windows Server 2008 이전 버전에서, 로컬 관리자 그룹의 회원들은 자신의 SQL 서버 로그인을하지 않아도 그들은 SQL 서버 내부 관리자에게 권한을 부여 할 필요가 없습니다. B \ A는 sysadmin 고정 서버 역할의 구성원이기 때문에 기본 제공 서버 주 BUILTIN \ Administrators (B \ A)로 SQL Server에 연결하고 이들은 관리자 권한이 있습니다. Windows Vista 및 Windows Server 2008에서는 관리자 권한이 제거되므로 상승 클라이언트 응용 프로그램에서 연결하지 않는 한 관리자 사용자는 SQL 서버 인스턴스에 연결할 수 없습니다.

+0

사용자가 만든 "SQL Server 인증"은 사용자 이름과 암호이며 Windows 인증을 사용하지 않고 있습니까? – Belliez

관련 문제