The proposed new database owner is already a user or aliased in the database.
원인
변경하려는 계정이 이미 DB에 할당되어 있기 때문에
해소
DB의 기존 소유자를 삭제하는것이 아니라,
DB에 소유자을 변경하려는 계정을 삭제 후 실행
만약 스키마 정보에 삭제하려는 계정이 매칭되어 있다면, 변경 후 진행
USETestDB; DROPUSERTest_srv; --15138 오류가 난다면 select * from sys.schemas where principal_id = user_id('Test_srv'); -- 삭제하려는 아이디로 매핑된 스키마가 있는지 확인
ALTERAUTHORIZATIONONSchema::db_ownerTOdbo; -- db_owner의 소유자 정보를 dbo로 변경 -- add it back in AND change the dbowner ALTERAUTHORIZATIONONDATABASE::TestDBTOTest_srv; -- DB 소유권 변경
계정 : 하나의 주체입니다.
사용자 혹은 bot등이 여기 해당됩니다.
채널 : 열린 채팅방입니다.
그룹이 단순히 여러명이 모여 대화를 나누는 곳이라면 여기에는 그 이상의 기능이 가능합니다.
채널을 공개하여 여러 사람이 들어올 수도 있으며 관리자등을 지정하고 이들만 채팅이 가능하도록 하는 등 알림용도로도 사용이 가능합니다.
BotFather : bot을 생성, 관리할 수 있는 계정(bot 형태)입니다.
BotFather과 대화로 bot을 생성하고 여러 기능을 설정할 수 있습니다.
telegram 대화상대에서 BotFather를 검색하여 추가해 줍니다
시작
/start
bot 이름 및 아이디 설정
/newbot
순서 : 이름 입력 -> 아이디 입력
이름 : bot의 이름으로, 채팅방에서 보이는 이름입니다. ( 예제는 bill_bot )
아이디 : username으로 변수로 처리되며, 아이디에 있는 @로 시작하는 부분이 username입니다.
봇을 검색할 때 사용됩니다.
bot 생성 과정
마지막에 검은색 박스로 쳐진 부분이 있습니다.
이 부분은 token(토큰)으로 xxxx:yyyyyy 형태로 이루어 져 있습니다.
토큰이 있으면 해당 계정(여기서는 봇)의 권한을 거의 전부 사용할 수 있다고 보시면 됩니다.
그렇기에 관리를 해주시는 것이 필수입니다.
python으로 넘어가기 전에 한가지 준비를 해주어야 합니다.
현재 봇은 생성되었지만 저에게 메세지를 보낼 수 없습니다.
왜냐하면 제가 누군지 모르니까요.
그렇기에 봇에게 먼저 말을 걸어보고 파이썬으로 넘어가도록 하겠습니다.
BotFather를 추가했던 것 처럼 봇의 아이디를 검색하여 채팅을 시작합니다.
메세지는 아무거나 보내도 됩니다.
telegram python api 설치
$ pip install python-telegram-bot --upgrade
python 으로 message 받기
import telegram #텔레그램 모듈을 가져옵니다.
my_token = '여기에 토큰을 입력해 주세요' #토큰을 변수에 저장합니다.
bot = telegram.Bot(token = my_token) #bot을 선언합니다.
updates = bot.getUpdates() #업데이트 내역을 받아옵니다.
for u in updates : # 내역중 메세지를 출력합니다.
print(u.message)
응답(메세지는 이렇게 많은 데이터를 담고 있습니다. 일부분은 사생활 보호를 위해(?) 삭제하였습니다.)
mssql 라이선스를 standard로 운영 도중 enterprise로 올리고 싶은 경우 가능
enterprise에서 standard로 다운그레이드는 불가능
아래 setup.exe 파일은 enterprise의 실행 파일( enterprise 설치 파일이 로컬 디스크에 있어야함 )
아래 예의 경우 SQL2016SP1_ENT_ENG 폴더에 mssql 설치 파일이 있음
-- InstanceName : 설치된 SQLServer 인스턴스 정보 ( Default : MSSQLSERVER )
-- PID : MSSQL 제품 키 ( 제품키가 포함된 버전은 생략 )
setup.exe /q /ACTION=editionupgrade /InstanceName=MSSQLSERVER /PID=<appropriatePid> /IAcceptSQLServerLicenseTerms