sql server - usuario - ¿Cómo puedo detectar si tengo el permiso CREATE TABLE?
permisos a una tabla sql (1)
¿Por qué no crear la tabla primero y, si eso no funciona, no seguir adelante?
Dicho esto, también puede usar la siguiente función HAS_PERMS_BY_NAME
:
SELECT HAS_PERMS_BY_NAME(db_name(), ''DATABASE'', ''CREATE TABLE'');
Más información aquí:
¿Cómo puedo detectar mediante programación si el usuario actual tiene permisos CREATE TABLE en la base de datos actual?
Estoy escribiendo una herramienta que hará un procesamiento largo, y luego crear tablas de base de datos para guardar los resultados. Solo quiero crear las tablas si el proceso se ejecuta hasta su finalización. Pero si el usuario no podrá crear las tablas, no tiene sentido pasar el tiempo de procesamiento. Me gustaría detectar el problema del permiso y fallar rápido.
Esto será de una aplicación C #, y no puedo suponer que se instalarán bibliotecas especiales, lo que probablemente descarte SQL-DMO y SMO. Si hay una manera fácil de verificar los permisos con una consulta / script T-SQL, sería ideal.