이 테이블을 읽기 전용으로 설정해야하는 경우 해당 테이블의 일부 레코드 집합을 업데이트하고 있습니다.SQL Server에서 테이블을 읽기 전용으로 만드는 방법은 무엇입니까?
SQL Server에서 테이블을 읽기 전용으로 만드는 방법은 무엇입니까? 삭제할 수 있도록 계속 업데이 트를 차단하고 특정 테이블에 삽입하지만 것
이 테이블을 읽기 전용으로 설정해야하는 경우 해당 테이블의 일부 레코드 집합을 업데이트하고 있습니다.SQL Server에서 테이블을 읽기 전용으로 만드는 방법은 무엇입니까?
SQL Server에서 테이블을 읽기 전용으로 만드는 방법은 무엇입니까? 삭제할 수 있도록 계속 업데이 트를 차단하고 특정 테이블에 삽입하지만 것
간단한 대안 :
ALTER TABLE mytable WITH NOCHECK ADD CONSTRAINT chk_read_only CHECK(1 = 0)
는주의 :이 인서트 및 업데이트를 피할 수 있지만, h 제한 할 수 있습니다.
가) 자체 데이터베이스 또는, 여기 :
당신이 정말로 테이블이 필요하면
정말에만도 두 수 읽을 수 방법 :USE [master]
GO
ALTER DATABASE [csvtosp] ADD FILEGROUP [READONLYTABLES]
GO
ALTER DATABASE [csvtosp] ADD FILE (NAME = N'mydb_readonly_tables', FILENAME = N'G:\SQL2005DATA\mydb_readonly_tables.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB) TO FILEGROUP [READONLYTABLES]
GO
USE csvtosp
GO
DROP TABLE mytable
CREATE TABLE mytable (
somedata char(8000) not null
) ON READONLYTABLES
GO
이 주제에 대한 자세한 내용은 여기 :
이 답변을 개선하려고했지만 수정 사항이 거부되었습니다. 파일 그룹을 읽기 전용으로 만드는 방법에 대한 누락 된 코드를 추가하십시오 :'ALTER DATABASE [csvtosp] 수정 FILEGROUP [READONLYTABLES] READONLY' – Baodad
1. 파일 그룹'READONLYTABLES'은 READONLY가 아닙니다 2. 다른 파일 그룹으로 이동하기 위해 테이블을 삭제할 필요가 없습니다. . 클러스터형 인덱스를 다시 작성하면됩니다. –
일반인에게 읽기 전용으로 쓰기를 원하지만 나중에 테이블을 편집 할 수 있기를 원하면 데이터베이스에 대해 여러 사용자를 작성하고 해당 데이터베이스에 다른 권한을 부여하는 것이 좋습니다. 테이블을 변경하는 것을 허용 어쨌든 아닌 일반 대중 접근이 일을 할 만 파일 그룹
아마도 3 번이 가장 좋습니다. 예를 들어 연결이 db_owner 인 경우 트리거는 트리거를 사용하지 않도록 설정하거나 테이블을 다른 파일 그룹으로 이동할 수 있습니다.
몇 가지 좋은 답변이 여기에 있습니다. 내 질문은 : 테이블은 누구에게 읽기 전용이어야 하는가? SysAdmins는 시간과 노력이 들지만 항상 아무 것도 할 수있는 권한이 있습니다. –
시스템 관리자 이외의 사용자 – Jeyavel